﻿using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using X.Core.Bases;

namespace X.Core.Interfaces
{
    public interface ISaveModel : IModel
    {
        string[] GetDefaultIgnoreData();
        (int, string) Save(string path);
        (int, string) Load<T>(string path) where T : SaveModelBase;
        string Serialize(JObject param = null);
        DateTime LoadedTime { get; set; }
        DateTime SavedTime { get; set; }
        DateTime CreatedTime { get; set; }
        DateTime ModifiedTime { get; set; }
        string Author { get; set; }
        int VersionT { get; set; }
        string Version { get; set; }
    }
}
